最近在测试环境中,发现有个列表页面加载非常的缓慢,分析 SQL 看起来也很简单,没有问题:
1 | SELECT |
测试环境的数据量也只有100多条的记录,可以单独执行 SQL 执行时间却花费了 15 秒!!!
通过 EXPLAIN 检查也未看出异常。
不过经过最终排除对比,发现原因出在 字段的排序规则不一致的原因上:
org_organization_info
表中 org_id
字段的排序规则是 utf8_general_ci
distributor_org_id
表中 distributor_org_id
字段的排序规则是 utf8_bin
将 distributor_org_id
表中 distributor_org_id
字段的排序规则改成
utf8_general_ci
查询即恢复正常
云栖社区有篇文章讲述到了类似的问题 RDS for MySQL 字符序(collation)引发的性能问题